As data management systems grow more complex and provide support for constantly-increasing numbers of users, issues such as performance, data integrity, work-load management, batch processing, efficiency and continuous availability need to be addressed. Many systems provide only limited mechanisms for maintaining data integrity, ownership, and filesystem management, and are often unable to prevent loss of data under certain conditions. The growing presence of distributed computing, distributed storage and the increased need for sharing large amounts of data across an enterprise, have complicated matters. A solution is therefore required to support the variety of applications intended to provide such functionality. Storage subsystems that meet the storage demands of such data management systems are an integral part of these solutions.
To address the need for such storage systems, developments in storage solutions have led to the increased utilization by enterprises of distributed solutions such as Storage Area Networks (SANs) to provide storage consolidation, reliability, availability, and flexibility. Specifically, factors driving these developments include the increase in the amount of on-line data, data protection requirements including efficient and reliable data back-up, and rapidly increasing storage densities.
Unfortunately, related files (or their constituent blocks) may end up being stored in a variety of locations on a storage subsystem (e.g., a hard disk), and may even be spread across the storage subsystems that make up a SAN. This scattering can complicate the maintenance of the stored information. Defragmentation, backup and other maintenance functions can prove challenging on large filesystems due to the typically large number of files stored therein. Accordingly, it is desirable to address these and related file maintenance issues.